home *** CD-ROM | disk | FTP | other *** search
- regc( 0, "TFACTOR" )
- regc4f( 3, %dirtcolor_r, %dirtcolor_g, %dirtcolor_b, 0.0 )
- regc4f( 4, %dirtsnow, %dirtgravel, %dirtmud, 0.0 )
- regc4f( 5, %daycolor_r, %daycolor_g, %daycolor_b, %daycolor_a )
- regc4f( 6, %ambient_r, %ambient_g, %ambient_b, %ambient_a )
- pshader("
-
- ps_1_1
-
- #include <cardef.h>
- #define DirtLevel c0.a
- #define DirtColor c3
- #define DirtType c4
- #define DayColor c5
-
- #define Diffuse v0.a
- #define SpotDiffuse v0
- #define Specular v1
- #define Fresnel v1.a
- #define Ambient c6
- #define ReflStrength c0.b
-
- def c1, 0.13, 0.33, 0.43, 1.0
-
- tex t0 ;texture
- tex t1 ;Dirt
- tex t2 ;ColorMap
- tex t3 ; Cubemap
-
- dp3_sat t1.rgb, DirtType, t1
- +mul r1.a, t2.a, Diffuse
-
- mad r1.rgb, Ambient, r1.a, Ambient.a
- +mul r0.a, t1.b, DirtLevel
-
- lrp t0.rgb, 1-r0.a, t0, DirtColor
- +mul r1.a, t2.a, Specular.b
-
- mul r0.rgb, t0, r1
- +mul t3.a, Fresnel, 1-r0.a // +ReflStrength
-
- mad r0.rgb, 1-r0.a, r1.a, r0
-
- mad r0, t3.a, t3, r0
-
- mul r0.rgb, r0, DayColor
- +lrp t0.a, 1-r0.a, t0.a, c1.a
- // dp3_sat r1, r0, c1
- ; spot lights
- #if VS_SPOTLIGHTS
- mad r0.rgb, t0, SpotDiffuse, r0
- +add_sat r0.a, t0.a, r0.b
- #else
- add_sat r0.a, t0.a, r0.b
- #endif
-
- ")
-
-